TPTP Problem File: GEO408^1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : GEO408^1 : TPTP v8.2.0. Released v7.0.0.
% Domain : Geometry (Special geometry)
% Problem : International Mathematical Olympiad, 1983, Problem 4
% Version : [Mat16] axioms : Especial.
% English : Let ABC be an equilateral triangle and epsilon the set of
% all points contained in the three segments AB, BC and CA
% (including A, B and C). Determine whether, for every partition
% of epsilon into two disjoint subsets, at least one of the two
% subsets contains the vertices of a right-angled triangle.
% Refs : [Mat16] Matsuzaki (2016), Email to Geoff Sutcliffe
% : [MI+16] Matsuzaki et al. (2016), Race against the Teens - Benc
% Source : [Mat16]
% Names : IMO-1983-4.p [Mat16]
% Status : Theorem
% Rating : ? v7.0.0
% Syntax : Number of formulae : 3485 ( 710 unt;1199 typ; 0 def)
% Number of atoms : 8086 (2210 equ; 0 cnn)
% Maximal formula atoms : 40 ( 3 avg)
% Number of connectives : 39662 ( 104 ~; 234 |;1181 &;36016 @)
% (1095 <=>;1032 =>; 0 <=; 0 <~>)
% Maximal formula depth : 33 ( 8 avg)
% Number arithmetic : 4461 ( 371 atm;1203 fun; 951 num;1936 var)
% Number of types : 40 ( 36 usr; 3 ari)
% Number of type conns : 2408 (2408 >; 0 *; 0 +; 0 <<)
% Number of symbols : 1219 (1176 usr; 73 con; 0-9 aty)
% Number of variables : 8068 ( 406 ^;7091 !; 435 ?;8068 :)
% ( 136 !>; 0 ?*; 0 @-; 0 @+)
% SPC : TH1_THM_EQU_ARI
% Comments : Theory: ZF; Score: 7; Author: Munehiro Kobayashi;
% Generated: 2014-12-18
%------------------------------------------------------------------------------
include('Axioms/MAT001^0.ax').
%------------------------------------------------------------------------------
thf(p,conjecture,
! [V_A: '2d.Point',V_B: '2d.Point',V_C: '2d.Point',V_Epsilon: 'SetOf' @ '2d.Point',V_S1: 'SetOf' @ '2d.Point',V_S2: 'SetOf' @ '2d.Point'] :
( ( ( '2d.is-equilateral-triangle/3' @ V_A @ V_B @ V_C )
& ( V_Epsilon
= ( 'set-by-def/1' @ '2d.Point'
@ ^ [V_p: '2d.Point'] : ( '2d.on/2' @ V_p @ ( '2d.union/1' @ ( 'cons/2' @ '2d.Shape' @ ( '2d.seg/2' @ V_A @ V_B ) @ ( 'cons/2' @ '2d.Shape' @ ( '2d.seg/2' @ V_B @ V_C ) @ ( 'cons/2' @ '2d.Shape' @ ( '2d.seg/2' @ V_C @ V_A ) @ ( 'nil/0' @ '2d.Shape' ) ) ) ) ) ) ) )
& ( 'is-empty/1' @ '2d.Point' @ ( 'set-intersection/2' @ '2d.Point' @ V_S1 @ V_S2 ) )
& ( V_Epsilon
= ( 'set-union/2' @ '2d.Point' @ V_S1 @ V_S2 ) ) )
=> ( ? [V_a_dot_0: '2d.Point',V_b_dot_0: '2d.Point',V_c_dot_0: '2d.Point'] :
( ( 'elem/2' @ '2d.Point' @ V_a_dot_0 @ V_S1 )
& ( 'elem/2' @ '2d.Point' @ V_b_dot_0 @ V_S1 )
& ( 'elem/2' @ '2d.Point' @ V_c_dot_0 @ V_S1 )
& ( '2d.is-right-triangle/3' @ V_a_dot_0 @ V_b_dot_0 @ V_c_dot_0 ) )
| ? [V_a: '2d.Point',V_b: '2d.Point',V_c: '2d.Point'] :
( ( 'elem/2' @ '2d.Point' @ V_a @ V_S2 )
& ( 'elem/2' @ '2d.Point' @ V_b @ V_S2 )
& ( 'elem/2' @ '2d.Point' @ V_c @ V_S2 )
& ( '2d.is-right-triangle/3' @ V_a @ V_b @ V_c ) ) ) ) ).
%------------------------------------------------------------------------------